package il.ac.biu.cs.grossmm.api.server;

/**
 * If a component or a service implements this interface, it can provide
 * a loader for itself. Method <tt>getLoader</tt> will be called before
 * the setting <tt>ComponentManager</tt> and/or <tt>ServiceManager</tt>.
 * 
 */
public interface SelfLoader {
	/**
	 * Given a default loader returns custom loader for this
	 * service/component.
	 *  
	 * @param baseLoader
	 * @return the loader to be used to load server objects
	 */
	Loader getLoader(Loader baseLoader);
}
